public open class X : A

public interface T : A

public open class Y : X()

public class Z : Y(), T
